const fieldTypes = {
  'text': 'text', // 单行文本
  'password': 'password', // 密码
  'multi-line-text': 'textarea', // 多行文本
  'integer': 'int', // 整数
  'decimal': 'float', // 小数
  'boolean': 'boolean', // 布尔值
  'date': 'date', // 日期
  'dropdown': 'select', // 下拉选择
  'radio-buttons': 'radio', // 单选按钮
  'people': 'person', // 选择人
  'functional-group': 'group', // 选择组
  'upload': 'file', // 选择组
}

const fieldTypesReverse = {}
for (let key in fieldTypes) {
  fieldTypesReverse[fieldTypes[key]] = key
}

// 将flowable表单格式转换成formDesigner格式
export const formatFormItems = (formItems) => {
  return formItems.map(el => {
    const {
      id,
      ...rest
    } = el
    return {
      ...rest,
      name: id,
      label: rest.name,
      type: fieldTypes[rest.type],
      defaultValue: rest.placeholder,
      inputProps: rest.params
    }
  })
}

// 将formDesigner表单格式转换成flowable格式
export const reformatFormItems = (formItems) => {
  return formItems.map(el => {
    return {
      ...el,
      id: el.name,
      name: el.label,
      placeholder: el.defaultValue,
      overrideId: false,
      fieldType: 'FormField',
      type: fieldTypesReverse[el.type],
      params: el.inputProps
    }
  })
}